//
//  ScVistorView.swift
//  weibo03
//
//  Created by mac on 16/9/20.
//  Copyright © 2016年 mac. All rights reserved.
//

import UIKit
 //1定义代理协议
protocol ScVistorViewDelegate: NSObjectProtocol
{
    func didSelectedLogin()
}
//访客视图
class ScVistorView: UIView {
    //需要传入执行的闭包
    var loginClosure: (() ->())?
    //2定义代理对象
    weak var delegate: ScVistorViewDelegate?
    
    //mark 懒加载控件
    //旋转视图
    private lazy var cycleImageView: UIImageView = UIImageView(image: UIImage(named: "visitordiscover_feed_image_smallicon"))
    //罩层视图
    private lazy var maskImageView: UIImageView = UIImageView(image:UIImage(named: "visitordiscover_feed_mask_smallicon"))
    //小房子视图(主页)
    private lazy var iconImageView: UIImageView = UIImageView(image: UIImage(named: "visitordiscover_feed_image_house"))
    //未登录信息视图
    private lazy var messageLabel: UILabel =
        {
            let label = UILabel()
            label.text = "关注一些人，回这里看看有什么惊喜关注一些人，回这里看看有什么惊喜"
            label.font = UIFont.systemFont(ofSize: 13)
            label.textColor = UIColor.darkGray
            //居中
            label.textAlignment = .center
            label.numberOfLines = 0
            
            return label
    }()
    // 登录 按钮
    private lazy var loginButton: UIButton =
        {
            let button = UIButton()
            button.addTarget(self, action: #selector(loginAction), for: .touchUpInside)
            button.setTitle("登录", for: .normal)
            button.setTitleColor(UIColor.darkGray, for: .normal)
            button.setTitleColor(UIColor.orange, for: .highlighted)
            button.titleLabel?.font = UIFont.systemFont(ofSize: 14)
            button.setBackgroundImage(UIImage(named:"common_button_white_disable"), for: .normal)
            //去掉点击的高粱效果
            button.adjustsImageWhenHighlighted = false
            return button
    }()
    
    //注册按钮
    private lazy var rigisterButton: UIButton =
        {
            let button = UIButton()
            //添加点击事件
            button.addTarget(self, action: #selector(loginAction), for: .touchUpInside)
            button.setTitle("注册", for: .normal)
            button.setTitleColor(UIColor.darkGray, for: .normal)
            button.setTitleColor(UIColor.orange, for: .highlighted)
            button.titleLabel?.font = UIFont.systemFont(ofSize: 14)
            button.setBackgroundImage(UIImage(named:"common_button_white_disable"), for: .normal)
            //去掉点击的高粱效果
            button.adjustsImageWhenHighlighted = false
            return button
    }()

    

    override init(frame: CGRect) {
        super.init(frame: frame)
        setupUI()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    private func setupUI()
    {
        backgroundColor = UIColor(white: 237 / 255, alpha: 1)
        addSubview(cycleImageView)
        addSubview(maskImageView)
        addSubview(iconImageView)
        addSubview(messageLabel)
        addSubview(loginButton)
        addSubview(rigisterButton)
        
        cycleImageView.snp_makeConstraints { (make) in
            make.center.equalTo(self)
        }
        maskImageView.snp_makeConstraints { (make) in
            make.center.equalTo(cycleImageView)
        }
        iconImageView.snp_makeConstraints { (make) in
            make.center.equalTo(cycleImageView)
        }
        messageLabel.snp_makeConstraints { (make) in
            make.centerX.equalTo(cycleImageView)
            make.bottom.equalTo(cycleImageView.snp_bottom).offset(8)
            make.width.equalTo(224)
        }
        loginButton.snp_makeConstraints { (make) in
            make.leading.equalTo(messageLabel.snp_leading)
            make.top.equalTo(messageLabel.snp_bottom).offset(10)
            make.size.equalTo(CGSize(width: 100, height: 35))
            
        }
        rigisterButton.snp_makeConstraints { (make) in
            make.trailing.equalTo(messageLabel.snp_trailing)
            make.top.equalTo(loginButton)
            make.size.equalTo(loginButton)
        }

        
//        //使用系统自动布局
//        cycleImageView.translatesAutoresizingMaskIntoConstraints = false
//        
//        //设置布局方式
//        addConstraint(NSLayoutConstraint(item: cycleImageView, attribute: .centerX, relatedBy: .equal, toItem: self, attribute: .centerX, multiplier: 1, constant: 0))
//        
//        addConstraint(NSLayoutConstraint(item: cycleImageView, attribute: .centerY, relatedBy: .equal, toItem: self, attribute: .centerY, multiplier: 1, constant: 0))
        
        
    }
    func updateVisitorInfo(message: String?, imageName: String?) {
        
        if let msg = message, let imgName = imageName {
            //  如果代码执行到此,表示消息,发现,我的视图控制器
            messageLabel.text = msg
            iconImageView.image = UIImage(named: imgName)
            cycleImageView.isHidden = true
        }else
        {
            //执行旋转动画
            starAnimation()
        }
    }
     // 开启动画
    private func starAnimation(){
        //创建核心动画的徐娘
        let animation = CABasicAnimation(keyPath: "transform.rotation")
        //执行到的目的地
        animation.toValue = 2 * M_PI
        //执行动画时长
        animation.duration = 20
        //动画执行的而次数
        animation.repeatCount = MAXFLOAT
        //当失去焦点的时候不让他释放掉
        animation.isRemovedOnCompletion = false
        cycleImageView.layer.add(animation, forKey: nil)
        
    }

    //mark  点击事件
    @objc private func loginAction(){
        print("我是方可视图")
        loginClosure?()
        //通过代理对象执行代理方法
        
    }


}
